package cn.seaboot.admin.upload;

import java.io.Serializable;

/**
 * 标准文件上传反馈
 * <p>
 * 文件上传之后，需要返回唯一 ID，文件名等信息；
 * <p>
 * 这属于开发约定，所有的文件上传，统一输出标准。
 *
 * @author Mr.css
 * @version 2022-03-04 11:10
 */
public class OutputInfo implements Serializable {
    private static final long serialVersionUID = 9051749576197148915L;

    /**
     * 唯一指向一个文件
     * <p>
     * 文件 ID 或者 文件 URL，用于 src 访问的关键字段
     * 通常就是：directory/name.extension
     * <p>
     * 强制：一般来说，上传文件之后，这个字段不允许为空
     */
    private String path;

    /**
     * 文件名
     * <p>
     * 通常是唯一的，至少相同文件夹下不会重复
     */
    private String name;

    /**
     * 文件哈希
     * <p>
     * 用于校验文件
     */
    private String tag;

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag;
    }

    @Override
    public String toString() {
        return "OutputInfo{" +
                "path='" + path + '\'' +
                ", name='" + name + '\'' +
                ", tag='" + tag + '\'' +
                '}';
    }
}
